Skip to content

fix(integrations): Cline dispatches hyphenated /speckit-<cmd> invocations#3622

Merged
mnriem merged 1 commit into
github:mainfrom
jawwad-ali:fix/cline-hyphenated-invocation
Jul 22, 2026
Merged

fix(integrations): Cline dispatches hyphenated /speckit-<cmd> invocations#3622
mnriem merged 1 commit into
github:mainfrom
jawwad-ali:fix/cline-hyphenated-invocation

Conversation

@jawwad-ali

Copy link
Copy Markdown
Contributor

What

Cline installs its slash-commands with hyphenated names — speckit-plan, speckit-git-commit — via format_cline_command_name and the hyphenated command_filename. But ClineIntegration inherits MarkdownIntegration.build_command_invocation, which builds the dotted form:

invocation = f"/speckit.{stem}"   # -> /speckit.plan

So command/workflow dispatch invokes /speckit.plan while the registered Cline command is /speckit-plan — a name Cline never registered.

Fix

Override build_command_invocation in ClineIntegration to reuse the module's own format_cline_command_name, producing /speckit-<name> (with .- for extension commands). This mirrors the ForgeIntegration fix (#3529) exactly — Cline was the only remaining markdown integration with invoke_separator='-' + hyphenated command_filename still lacking the override.

Test

test_cline_core_command_hyphenated / test_cline_extension_command_hyphenated (mirroring the forge tests) assert Cline invocations are hyphenated, incl. args — fail before (dotted /speckit.plan, /speckit.git.commit), pass after.


🤖 Written with the assistance of Claude Code (AI). Bug self-found; fix/tests verified locally (fail-before / pass-after), ruff clean.

…ions

Cline installs its slash-commands with hyphenated names (speckit-plan,
speckit-git-commit) via format_cline_command_name + the hyphenated
command_filename, but ClineIntegration inherited MarkdownIntegration's
build_command_invocation, which builds the dotted /speckit.<cmd> — a name Cline
never registered.

Add a build_command_invocation override reusing format_cline_command_name,
producing /speckit-<name>, mirroring the ForgeIntegration fix. Cline was the only
remaining markdown integration with invoke_separator='-' + hyphenated
command_filename that lacked the override.

Tests assert Cline core + extension invocations are hyphenated, incl. args
(fail before: dotted /speckit.plan / /speckit.git.commit).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns Cline command invocations with its hyphenated registered command names.

Changes:

  • Overrides Cline invocation formatting using format_cline_command_name.
  • Adds coverage for core commands, extension commands, and arguments.
Show a summary per file
File Description
src/specify_cli/integrations/cline/__init__.py Generates hyphenated Cline invocations.
tests/integrations/test_base.py Tests Cline invocation formatting.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Medium

@mnriem
mnriem merged commit d39f8fd into github:main Jul 22, 2026
12 checks passed
@mnriem

mnriem commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants